package test;
/*- 模拟用户登录。
        - 定义用户类，属性为用户名和密码。
        - 使用数组存储多个用户对象。
        - 录入用户和密码，对比用户信息，匹配成功登录成功，否则登录失败。
        - 登录失败时，当用户名错误，提示没有该用户。
        - 登录失败时，当密码错误时，提示密码有误。
        - 代码实现，效果如图所示：*/

import java.util.Scanner;

public class Test8 {
  public static void main(String[] args) {
            User[] arr=new User[3];
            arr[0]=new User("jack","1536");
            arr[1]=new User("peter","1596");
            arr[2]=new User("jone","1546");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名");
        String name = scanner.next();
        System.out.println("请输入密码");
        String password = scanner.next();
        boolean flag1=false;
        boolean flag2=false;
            for (User user : arr) {
                if (user.getName().equals(name)){
                    flag1=true;
                }
                if (user.getPassword().equals(password)){
                    flag2=true;
                }
            }
            if (flag1&&flag2){
                System.out.println("登录成功");
                return;
            }
            if (!flag1){
                System.out.println("不存在此用户");

            }
            if (!flag2){
                System.out.println("密码错误");
            }
    }
}
class User{
    private String name;
    private String password;

    public User() {
    }

    public User(String name, String password) {
        this.name = name;
        this.password = password;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        User user = (User) o;

        if (name != null ? !name.equals(user.name) : user.name != null) return false;
        return password != null ? password.equals(user.password) : user.password == null;
    }

    @Override
    public int hashCode() {
        int result = name != null ? name.hashCode() : 0;
        result = 31 * result + (password != null ? password.hashCode() : 0);
        return result;
    }
}